﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BLLUtilidades;

namespace BLLMisIdeas
{
    public class BLLIdeaDetalle: BLLPadre<MisIdeasDataContext>
    {
        public BLLIdeaDetalle(MisIdeasDataContext contexto) : base(contexto) { }
        public BLLIdeaDetalle() : this(new MisIdeasDataContext()) { }

        public List<MI_IdeaDetalle> TraerDetalles(int ideaID)
        {
            return (from d in Contexto.MI_IdeaDetalles
                    where d.MI_IdeaID == ideaID
                    orderby d.MI_Fecha descending
                    select d).ToList();
        }

        public MI_IdeaDetalle TraerDetalle(int detalleID)
        {
            return Contexto.MI_IdeaDetalles.Where(d => d.MI_IdeaDetalleID == detalleID).FirstOrDefault();
        }

        public void ModificarDetalle(MI_IdeaDetalle detalle)
        {
            MI_IdeaDetalle viejoDetalle = TraerDetalle(detalle.MI_IdeaDetalleID);
            viejoDetalle.MI_Descripcion = detalle.MI_Descripcion;
            viejoDetalle.MI_Fecha = DateTime.Now;
        }

        public void CargarDetalle(MI_IdeaDetalle detalle)
        {
            detalle.MI_Fecha = DateTime.Now;
            detalle.MI_Idea = new BLLIdeas(Contexto).TraerIdea((int)detalle.MI_IdeaID);

            Contexto.MI_IdeaDetalles.InsertOnSubmit(detalle);
        }

        public void EliminarDetalle(int detalleID)
        {
            MI_IdeaDetalle viejoDetalle = TraerDetalle(detalleID);
            Contexto.MI_IdeaDetalles.DeleteOnSubmit(viejoDetalle);
        }
    }
}
